package dto

type Msg struct {
	MessageUId  string `json:"messageUId" form:"messageUId" `
	MessageType string `json:"messageType" form:"messageType" ` //消息类型
	ObjectName  string `json:"object_name" form:"object_name" ` //消息类型
	//文字
	Content  string              `json:"content" form:"content" `     //内容
	Links    []map[string]string `json:"links" form:"links" `         //连接
	Members  MsgMembers          `json:"members" form:"members" `     //成员
	Style    string              `json:"style" form:"style" `         //确认消息 question；普通消息 talk 或为空字符串；合并消息 merge
	Extra    string              `json:"extra" form:"extra" `         //额外信息
	ChatType string              `json:"chat_type" form:"chat_type" ` //聊天类型 group 群聊 private 单聊
	//图片
	//Content       string `json:"content" form:"content"` // 内容
	ImageUri string `json:"imageUri" form:"imageUri" ` //链接地址
	H        int    `json:"h" form:"h" `               //高
	W        int    `json:"w" form:"w" `               //宽
	//语音
	RemoteUrl string `json:"remoteUrl" form:"remoteUrl" ` //链接地址
	Duration  int    `json:"duration" form:"duration" `   //时间
	//文件
	FileUrl string `json:"fileUrl" form:"fileUrl" ` //链接地址
	Name    string `json:"name" form:"name" `       //文件名称
	Size    int    `json:"size" form:"size" `       //大小
	Type    string `json:"type" form:"type" `       //文件格式
	//
	QuitGroupUserId []string `json:"quitGroupUserId" form:"quitGroupUserId" `
	NoticeUserId    []string `json:"noticeUserId" form:"noticeUserId" `
	InvisibleUserId []string `json:"invisibleUserId" form:"invisibleUserId" `
}

type MessageContentList struct {
	Page           Page             `json:"page" form:"page"` //分页信息
	MessageContent []MessageContent `json:"list" form:"list"` //聊天数组
}

type MessageContentInside struct {
	//Id               int    `json:"id" form:"id" `                             //
	MessageType      string `json:"messageType" form:"messageType" `           //
	ContentStruct    string `json:"contentStruct" form:"contentStruct"`        //
	Content          Msg    `json:"content" form:"content"`                    //
	SenderUserId     string `json:"senderUserId" form:"senderUserId" `         //
	TargetId         string `json:"targetId" form:"targetId" `                 //
	SentTime         int    `json:"sentTime" form:"sentTime" `                 //
	ReceivedTime     int    `json:"receivedTime" form:"receivedTime" `         //
	MessageUId       string `json:"messageUId" form:"messageUId" `             //
	MessageDirection int    `json:"messageDirection" form:"messageDirection" ` //
	HiddenUserId     string `json:"hidden_user_id" form:"hidden_user_id" `     //
	CurrentStatus    int    `json:"current_status" form:"current_status" `     //
	//
	//SenderUserId     string `json:"senderUserId" form:"senderUserId" `         //
	//TargetId         string `json:"targetId" form:"targetId" `                 //
	//SentTime         int    `json:"sentTime" form:"sentTime" `                 //
	//ReceivedTime     int    `json:"receivedTime" form:"receivedTime" `         //
	//MessageDirection int    `json:"messageDirection" form:"messageDirection" ` //
	//Msg
}

type MessageContent struct {
	//Id               int    `json:"id" form:"id" `
	MessageType      string `json:"messageType" form:"messageType" `           //
	Content          Msg    `json:"content" form:"content"`                    //
	SenderUserId     string `json:"senderUserId" form:"senderUserId" `         //
	TargetId         string `json:"targetId" form:"targetId" `                 //
	SentTime         int    `json:"sentTime" form:"sentTime" `                 //
	ReceivedTime     int    `json:"receivedTime" form:"receivedTime" `         //
	MessageUId       string `json:"messageUId" form:"messageUId" `             //
	MessageDirection int    `json:"messageDirection" form:"messageDirection" ` //
}

type MsgMembers struct {
	UserAvatar string `json:"userAvatar" form:"userAvatar" ` //头像
	UserName   string `json:"userName" form:"userName" `     //昵称
}

type ChatMessagePageList struct {
	Page            Page              `json:"page" form:"page"` //分页信息
	ChatMessagePage []ChatMessagePage `json:"list" form:"list"` //聊天数组
}

type ChatMessagePage struct {
	GroupId       string `json:"groupId" form:"groupId" `              // 群聊id，私聊id
	Name          string `json:"name" form:"name" `                    // 对方昵称
	Avatar        string `json:"avatar" form:"avatar" `                // 对方头像
	ContentText   string `json:"content_text" form:"content_text"`     // 最后一句内容
	ContentStruct Msg    `json:"content_struct" form:"content_struct"` // 最后一句内容
	CreateTime    string `json:"create_time" form:"create_time"`       // 时间
	UnixTime      int    `json:"unix_time" form:"unix_time"`           // 时间
	State         int    `json:"state" form:"state"`                   // 状态 1进行中,2完成
	UserId        string `json:"user_id" form:"user_id"`               //
	OtherUserId   string `json:"other_user_id" form:"other_user_id"`   //
	ChannelType   int    `json:"channelType" form:"channelType"`       //属于哪个渠道：1 pc；2 小程序；
	NoReadNum     int    `json:"noReadNum" form:"noReadNum"`           //未读数
	ChatType      int    `json:"chat_type" form:"chat_type"`           //聊天类型：1 群聊；2 私聊；
	Status        int    `json:"status" form:"status"`                 //消息状态（1 已发送；2 已完成；3 已取消，非消息发送失败；4 已失效，非消息发送失败）
	FromUserId    string `json:"from_user_id" form:"from_user_id"`     //消息标记的发送者
	GroupName     string `json:"group_name" form:"group_name"`         //消息标记的发送者
	UserName      string `json:"user_name" form:"user_name"`           //消息标记的发送者
	ObjectName    string `json:"object_name" form:"object_name"`
	LastChatId    int    `json:"last_chat_id" form:"last_chat_id"`
	MemberType    int    `json:"memberType" form:"memberType"`
}
